From 499f485f3d34a53fcedb4a2ea95f9aff9bff8241 Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Fri, 29 May 2015 14:19:39 -0700 Subject: [PATCH] Don't allocate in PackageId::hash This hash function is called an enormous number of times in `cargo_rustc`, so optimizing it is fairly important, and it's also quite trivial to not allocate a string at all (`semver::Version::hash` already does everything we need). --- src/cargo/core/package_id.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cargo/core/package_id.rs b/src/cargo/core/package_id.rs index 992e06b9e..f585a0137 100644 --- a/src/cargo/core/package_id.rs +++ b/src/cargo/core/package_id.rs @@ -59,7 +59,7 @@ impl Decodable for PackageId { impl Hash for PackageId { fn hash(&self, state: &mut S) { self.inner.name.hash(state); - self.inner.version.to_string().hash(state); + self.inner.version.hash(state); self.inner.source_id.hash(state); } } -- 2.30.2